Skip to main content

50.2 Exposing Endpoints

50.2 暴露端点

由于端点可能包含敏感信息,暴露它们要慎重。下面的表格展示了内建端点默认是否展示的情况:

IDJMX Web
auditeventsYesNo
beansYesNo
conditionsYesNo
configpropsYesNo
envYesNo
flywayYesNo
healthYesYes
heapdumpN/ANo
httptraceYesNo
infoYesYes
jolokiaN/ANo
logfileN/ANo
loggersYesNo
liquibaseYesNo
metricsYesNo
mappingsYesNo
prometheusN/ANo
scheduledtasksYesNo
sessionsYesNo
shutdownYesNo
threaddumpYesNo

使用下面技术特定的includeexclude属性,改变端点的暴露状况:

属性默认 
management.endpoints.jmx.exposure.exclude
management.endpoints.jmx.exposure.include*
management.endpoints.web.exposure.exclude
management.endpoints.web.exposure.includeinfo, health

include属性列出了暴露的端点ID。exclude属性列出了不应当暴露的端点ID。exclude属性优先于include属性。includeexclude属性都可以使用端点ID列表配置。

例如,为了停止暴露所有JMX端点,只暴露healthinfo端点,使用下面的属性:

management.endpoints.jmx.exposure.include=health,info

*可以用于选择所有端点。例如,为了暴露所有HTTP端点,但是不暴露envbeans端点,使用下面的属性:

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans

如果你的应用公开暴露,我们强烈推荐你加密端点.

如果你想实现自己的何时暴露端点的策略,你可以注册一个EndpointFilter bean。